package top.zywork.vo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * GoodsOrderItemVO值对象类<br/>
 *
 * 创建于2019-07-26<br/>
 *
 * @author http://zywork.top 王振宇
 * @version 1.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = true)
public class GoodsOrderItemVO extends BaseVO {

    private static final long serialVersionUID = -9223372036799932607L;

    /**
	 * 订单项编号
	 */
	private Long id;
	/**
	 * 订单编号
	 */
	@NotNull(message = "此项是必须项")
	private Long orderId;
	/**
	 * 店铺编号
	 */
	@NotNull(message = "此项是必须项")
	private Long shopId;
	/**
	 * 商品编号
	 */
	@NotNull(message = "此项是必须项")
	private Long goodsId;
	/**
	 * SKU编号
	 */
	@NotNull(message = "此项是必须项")
	private Long goodsSkuId;
	/**
	 * SKU图片编号
	 */
	@NotNull(message = "此项是必须项")
	private Long skuPicId;
	/**
	 * SKU图片
	 */
	private String skuPicUrl;
	/**
	 * 售卖标题
	 */
	@NotBlank(message = "此项是必须项")
	@Size(min = 1, max = 255, message = "必须是1-255个字符")
	private String skuTitle;
	/**
	 * SKU规格信息
	 */
	@NotBlank(message = "此项是必须项")
	@Size(min = 1, max = 500, message = "必须是1-500个字符")
	private String skuInfo;
	/**
	 * 购买数量
	 */
	@NotNull(message = "此项是必须项")
	private Integer quantity;
	/**
	 * 实付金额（元）
	 */
	@NotNull(message = "此项是必须项")
	private BigDecimal payAmount;
	/**
	 * 优惠金额（元）
	 */
	private BigDecimal discountAmount;
	/**
	 * 赠送积分
	 */
	private Long integralAmount;
	/**
	 * 版本号
	 */
	private Integer version;
	/**
	 * 创建时间
	 */
	private Date createTime;
	/**
	 * 更新时间
	 */
	private Date updateTime;
	/**
	 * 是否激活
	 */
	private Byte isActive;
	
}
